﻿Public Class KORattigan
    Inherits ObjektKO

    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "RATTIGAN"
        Armee = Armeen.YC.ToString
        Musik = "Rattigan"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 3
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        Bewegungsbonus = Nothing
        GruppenBoost = New Point() {New Point(10, 4), New Point(10, 2)}
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        GruppenBoost = New Point() {New Point(20, 4), New Point(10, 2)}
        Bewegungsbonus = New BewegungsboniTabelleAlles_1
        If OhneFunktion = False Then
            AnimationEigene("EagleGabe", 2)
        End If
        GabeEingesetzt()
    End Sub
    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 1
                Return Nothing
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMassDamage(1, KOCustom.Power.PowerScript.EffectMassDamage.DamageUnit.AllEnemies))
                Return P
            Case Else
                Return Nothing
        End Select
    End Function
    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars Then
            GruppenBoost = New Point() {New Point(20, 4), New Point(10, 2)}
            Bewegungsbonus = New BewegungsboniTabelleAlles_1
            If OhneFunktion = False Then
                AnimationEigene("EagleGabe", 2)
            End If
            GabeEingesetzt()
        Else
            GruppenBoost = New Point() {New Point(40, 4), New Point(10, 2)}
            If OhneFunktion = False Then
                Dim WZeit As Integer = 2
                AnimationEigene("SPEZIALGABE", WZeit)
                AnimationFeindliche("SPEZIALGABE", WZeit)
                AlleFeindeBeschaedigen(1)
            End If
            Gabeeinsetzen()
        End If
    End Sub

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungRattigan
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Rattigan"
        Fein = "Yellow Comet"
        Nein = "Zerstoerung"
        Beschreibung = New String() {"Pflichtbewusster Ko", "von Yellow Comet mit einem", "kindlichen Gemuet. Der Sensei", "fuer die fehlende Glorie,", "YC verantwortlich macht."}
        Stil = New String() {"Seine Truppen kaempfen gegen", "Gruppen staerker.", "Sie sind aber schwaecher", "gegenueber einzelnen Einheiten"}
        Gabebeschreibung = New String() {"Alle Einheiten kaempfen besser gegen Gruppen.", "Alle Einheiten erhalten 1 Bewegungspunkt."}
        SpezialgabeBeschreibung = New String() {"Alle Einheiten kaempfen gegen Gruppen extrem gut.", "Alle Feinde erhalten 1TP Schaden"}
        GabeKosten = 3
        Spezialgabekosten = 4
        Gaben = New String() {"Einfall", "Durchlauf"}
        Synergie = New Decimal() {1, 1, 0.5#, -1, -1}
        KONamen = New String() {"KANBEI", "GRIMM", "OLAF", "SENSEI", "VON BOLT"}
        Doppelgabenamen = New String() {"Gross und Stark", "Oestliche Macht", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"All diese Gegner. Ha! Perfekt!" _
                                  , "G-gah! Sie sind ueberall!" _
                                  , "Hrumph! Das habe ich gelernt." _
                                  , "Heh, koennte SENSEI das schaffen?" _
                                  , "Wer zur Hoelle hat dir das kaempfen bei gebracht?" _
                                  , "Bleib stehen! Ich rede mit dir."}
        Siegsaetze = New String() {"Mit diesen ganzen Truppen hast du gedacht dauert es laenger?" _
                                , "A-aughk!! Uhm... Gratulation." _
                                , "Mit Yellow Comet hinter mir kann ich nicht verlieren."}
        Tauschsaetze = New String() {"Du wirst keinen Narren aus mir machen." _
                                    , "H-huh? Oh, in Ordnung."}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("RATTIGAN", "GRIMM", "Verdammt sind das viele!", "Die werden weggefegt.") _
                                              , New DoppelGabesatz("GRIMM", "RATTIGAN", "Blitzgrimm kommt gleich ist alles vorbei.", "Meinst du nicht, dass das zu viele sind?") _
                                              , New DoppelGabesatz("RATTIGAN", "KANBEI", "Damit Yellow Comet glorreich siegt.", "Das steht ausser Frage!") _
                                              , New DoppelGabesatz("KANBEI", "RATTIGAN", "Fuer die Glorie von Yellow Comet.", "Damit es endlich welche bekommt!")}
        Niederlagesaetze = New String() {"Die Ehre von Yellow Comet ist verloren.", _
                                     "Sensei! Das ist alles seine Schuld."}
    End Sub
End Class
